/**
 * 小明
 */

// var name = '小明'
// var age = 22

// function sum(num1, num2) {
//   return num1 + num2
// }

// var flag = true

// if(flag) {
//   console.log(sum(10, 20))
// }





//-----------------------------------------------
// 下面是 模块化开发 ES5 最基础的封装

// 匿名函数（闭包）
// 1. 介绍闭包
// (function(){
// })()


// 2. 为了其他人的js文件没有写 分号，可能会破坏我们的闭包
//     需要在前面 添加 分号;
// ;(function(){
//   ... 
// })()


// 3. 虽然使用了闭包(匿名函数)，但又出现新的问题了:
//   (1) 其他人 想使用，不能直接用
//   (2) 代码不可复用

// 解决函数给一个变量 moduleA
;var moduleA = (function(){
 
  var obj = {};


  var name = '小明'
  var age = 22

  function sum(num1, num2) {
    return num1 + num2
  }

  var flag = true

  if(flag) {
    console.log('aaa.js', sum(10, 20))
  }

  obj.flag = flag;
  obj.sum = sum;
  
  return obj;
})()
